﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;

namespace Data.AID
{
    public class Categoria
    {
        public int IdCategoria { get; set; }
        public string CategoriaDesc { get; set; }
    } 

    public class CategoriaDAO
    {
        private SPSite Site = SPContext.Current.Site;
        private SPWeb Web = SPContext.Current.Web;

        public Categoria GetIdCategory(string category)
        {
            try
            {
                using (SPSite eSite = new SPSite(Site.ID))
                {
                    using (SPWeb eWeb = eSite.OpenWeb(Web.ID))
                    {
                        Categoria categoria = eWeb.Lists["Categoria"].Items.Cast<SPListItem>()
                        .Where(p => p["Título"].ToString() == category)
                        .Select(p => new Categoria
                            {
                                IdCategoria = Convert.ToInt32(p["ID"]),
                                CategoriaDesc = p["Título"].ToString()
                            }).SingleOrDefault();

                        return categoria;
                    }
                }
            }
            catch (Exception e)
            {
                throw (e);
            }
        }
        public List<Categoria> GetAllCategories()
        {
            using (SPSite eSite = new SPSite(Site.ID))
            {
                using (SPWeb eWeb = eSite.OpenWeb(Web.ID))
                {
                    return eWeb.Lists["Categoria"].Items.Cast<SPListItem>()
                        .Select(p => new Categoria()
                        {
                            IdCategoria = Convert.ToInt32(p["ID"]),
                            CategoriaDesc = p["Título"].ToString()
                        })
                        .ToList();
                }
            }
        }
        public Categoria GetCategoryById(int id)
        {
            return GetAllCategories().FirstOrDefault(p => p.IdCategoria == id);
        }
    }
}
